package com.hejielife.readwritelock6;

/**
 * 2019年8月2日 下午3:49:25
 * 
 * @author hejielife
 * @despribe GuardStrategy
 */
public interface GuardStrategy {
	public abstract void beforeReadWait();

	public abstract boolean readGuard();

	public abstract void afterReadWait();

	public abstract void beforeDoRead();

	public abstract void afterDoRead();

	public abstract void beforeWriteWait();

	public abstract boolean writeGuard();

	public abstract void afterWriteWait();

	public abstract void beforeDoWrite();

	public abstract void afterDoWrite();
}
